From c00f1d040bbb6cd5449fda14ea0992914847c821 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 26 Apr 2018 00:32:57 +0200 Subject: [PATCH] switcherPopup: Select correct item after removal of item If an item was removed, make sure the selected item is still selected or select the last one if the selected item was removed. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167 --- js/ui/switcherPopup.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index 49b99dd18..5f2839cf2 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -255,7 +255,15 @@ var SwitcherPopup = GObject.registerClass({ _itemRemovedHandler(n) { if (this._items.length > 0) { - let newIndex = Math.min(n, this._items.length - 1); + let newIndex; + + if (n < this._selectedIndex) + newIndex = this._selectedIndex - 1; + else if (n === this._selectedIndex) + newIndex = Math.min(n, this._items.length - 1); + else if (n > this._selectedIndex) + return; // No need to select something new in this case + this._select(newIndex); } else { this.fadeAndDestroy(); -- 2.39.5